#ifndef _COMPONENT_H_
#define _COMPONENT_H_

#include "Object.h"
#include "ConcreteElementLoader.h"
#include "Transformation.h"
#include "Material.h"
#include <vector>

class Component : public Object {
public:
	Component() {}
	Component(TiXmlElement *elem);

	void displayElement();

	string key;
	Transformation *transformation;
	vector<Material *> materials;
	vector<Object *> childs;
	vector<string> missing_childs;

	// Class Atributes
	static ConcreteElementLoader<Component> *loader;

	// Class Methods
	static string Value() { return "component"; }
};

#endif